package any.incubator;

import java.util.Map;
import java.util.Map.Entry;

import any.Any;
import any.functor.interfaces.Function;

public interface CreateAny extends Function<Any, Any> {

	CreateAnyCreator create = new CreateAnyCreator();
	
	CreateAny append(Object value);

	CreateAny appendAll(Object values);

	CreateAny appendEach(Object... values);
	
	CreateAny put(String key, Object value);

	CreateAny put(Entry<?, ?> entry);
	
	CreateAny putAll(Map<?, ?> map);
	
	CreateAny putAll(Iterable<? extends Entry<?, ?>> entries);
	
	Any asMutable();
	
	Any asImmutable();
	
	Any asAny(boolean mutable);

}
